const { User, validateUser } = require('../../model/user');

module.exports =  async (req, res, next) => {
    
    
    // 验证数据
    try {
        await validateUser(req.body);
    } catch (e) {
        // 把对象转换为字符串传给next()
        next(JSON.stringify({path: '/admin/user-edit', message: e.message}));
        return;
    };

    // 验证成功后, 检查该邮箱有没有被注册过
    let user = await User.findOne({email: req.body.email});

    // 如果找到了, 就是一个对象  没找到就是null
    if (user) {
        // 把对象转换为字符串传给next()
        next(JSON.stringify({path: '/admin/user-edit', message: '邮箱已被注册'}));
        return;
    } else {
        try {
            await User.create(req.body)
        } catch (error) {
            console.log(error.message + '用户注册失败');
            return;
        };
        console.log('用户注册成功');
        res.redirect(`/admin/user`);
    };
}